/**
 * supports() 方法回傳一個 boolean 值，表示是否支援對所傳入的物件進行驗證，只有在傳回 true 的情況下，才會使用 validate() 方法進行驗證工作，<br>
 * 在 validate() 方法的參數中，obj 表示傳入的表單物件，您可以對它進行一些驗證，如果有錯誤的話，可以使用 Errors 的 reject() 或 rejectValue() 等方法加入錯誤訊息，<br>
 * 在後續的處理中，若 errors 物件中包括錯誤訊息，會回到 getViewPage ()所設定的頁面。 
 */

package validator.simple;

import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

import common.UserCommand;

/**
 * @author Eric.Kao(gau168.gau@msa.hinet.net)
 * @version 1.0
 * @company E885 Group
 * @copyright Copyright (c) 2001-2008
 */

public class MemberValidator implements Validator
{

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.springframework.validation.Validator#supports(java.lang.Class)
	 */
	public boolean supports( Class clazz )
	{
		return clazz.equals( UserCommand.class );
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.springframework.validation.Validator#validate(java.lang.Object, org.springframework.validation.Errors)
	 */
	public void validate( Object target, Errors errors )
	{
		UserCommand userCommand = (UserCommand)target;
		
		if( userCommand.getPassword().length() < 4 )
		{
			errors.rejectValue( "password", "passwordLength", "密碼小於四個字元" );
		}

	}

}
